package model.portfel;

import java.util.List;

import model.annotation.DomainRepository;
import system.Data;


@DomainRepository
public interface NotowanieRepozytorium {

	public Notowanie pobierz(Long id);
	
	public Notowanie pobierz(String walorNazwa, Data data);
	
	public List<Data> pobierzNotowaniaDaty(String walorNazwa, Data notowaniaStartData, int notowaniaLiczba);

	public Notowanie pobierz(String walorNazwa, Data data, int przesuniecie);

	public abstract double[] pobierzWolumenTablicaDouble(String walorNazwa,
			Data data, int notowanieStartIndex, int notowanieKoniecIndex);

	public abstract double[] pobierzWolumenTablicaDouble(String walorNazwa,
			Data data, int liczbaNotowan);

	public abstract double pobierzWolumenDouble(String walorNazwa, Data data,
			int przesuniecie);

	public abstract double pobierzWolumenDouble(String walorNazwa, Data data);

	public abstract List<Notowanie> pobierzNotowania(String walorNazwa, Data data,
			int notowanieStartIndex, int notowanieKoniecIndex);

	public abstract double[] pobierzCenyZamknieciaTablicaDouble(String walorNazwa,
			Data data, int notowanieStartIndex, int notowanieKoniecIndex);
	
	public abstract double[] pobierzCenyZamknieciaTablicaDouble(String walorNazwa,
			Data data, int liczbaNotowan);
	
	public abstract double[] pobierzCenyMinimalneTablicaDouble(String walorNazwa,
			Data data, int notowanieStartIndex, int notowanieKoniecIndex);
	
	public abstract double[] pobierzCenyMinimalneTablicaDouble(String walorNazwa,
			Data data, int liczbaNotowan);
	
	public abstract double[] pobierzCenyMaksymalneTablicaDouble(String walorNazwa,
			Data data, int notowanieStartIndex, int notowanieKoniecIndex);

	public abstract double[] pobierzCenyMaksymalneTablicaDouble(String walorNazwa,
			Data data, int liczbaNotowan);

	public abstract double pobierzCenaZamkniecieDouble(String walorNazwa,
			Data data, int przesuniecie);

	public abstract double pobierzCenaZamkniecieDouble(String walorNazwa, Data data);

}